Desktop virtualization can be performed by software that separates a desktop environment and associated application software from a physical client device that is used to access the desktop environment and the application software. The virtual desktop environment may be accessed by a client device that is remote from a server device that hosts the virtual desktop environment. Alternatively, the virtual desktop environment may be accessed locally from a client device that hosts the virtual desktop environment. Access to the virtual desktop environment may be constant or intermittent. The virtual desktop environment may persist between sessions that connect to the virtual desktop environment or the virtual desktop environment may reset between the sessions. Virtualization may be used to present independent instances of desktop environments to multiple users.